#ifndef CLIENT_H
#define CLIENT_H

#include <QWidget>
#include <QTcpSocket>

namespace Ui {
class client;
}

class client : public QWidget
{
    Q_OBJECT

public:
    explicit client(QWidget *parent = 0);
    ~client();
    QTcpSocket * socket = NULL;  //通信套接字

private slots:

    /*************************************************
      Function:       on_btn_connect_clicked
      Description:    点击链接按钮，初始化通信套接字，指定父对象，获取lineedit中的ip和port链接
                      服务器，随时将socket中收到的信息显示出来。
      Calls:          无
      Called By:      无
      Table Accessed: 无
      Table Updated:  无
      Input:          无
      Output:         无
      Return:         void
      Others:         无
    *************************************************/
    void on_btn_connect_clicked();

    /*************************************************
      Function:       on_btn_send_clicked
      Description:    点击发送按钮，若socket为空则直接返回，若不为空将tet_write中的内容写
                      入socket发送服务器
      Calls:          无
      Called By:      无
      Table Accessed: 无
      Table Updated:  无
      Input:          无
      Output:         无
      Return:         void
      Others:         无
    *************************************************/
    void on_btn_send_clicked();

    /*************************************************
      Function:       on_btn_close_clicked
      Description:    点击关闭按钮，若socket为空则显示“没有链接服务器”，若不为空则向客户端发送已
                      断开链接的消息，断开与客户端的链接，并在tet_read中输出“已断开连接”
      Calls:          无
      Called By:      无
      Table Accessed: 无
      Table Updated:  无
      Input:          无
      Output:         无
      Return:         void
      Others:         无
    *************************************************/
    void on_btn_close_clicked();

    /*************************************************
      Function:       display
      Description:    将通信套接字socket中接收到的内容显示到tet_write中
      Calls:          无
      Called By:      on_btn_connect_clicked
      Table Accessed: 无
      Table Updated:  无
      Input:          无
      Output:         无
      Return:         void
      Others:         无
    *************************************************/
    void display();

private:
    Ui::client *ui;
};

#endif // CLIENT_H
